package cn.iocoder.yudao.module.student.controller.app.student.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
* 学生管理 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class WebStudentBaseVO {

    @ApiModelProperty(value = "学生昵称",  example = "周先深~~")
    private String nickname;

    @ApiModelProperty(value = "最后登录时间", example = "2022-01-25")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date loginDate;

    @ApiModelProperty(value = "学生姓名",  example = "周枫皓")
    private String studentName;

    @ApiModelProperty(value = "学生认证状态",  example = "0")
    private String status;

    @ApiModelProperty(value = "籍贯", example = "湖南省长沙市")
    private String nativePlace;

    @ApiModelProperty(value = "手机号码", example = "18616651043")
    @NotNull(message = "手机号码不能为空")
    private String mobile;

    @ApiModelProperty(value = "性别", example = "1")
    private String sex;

    @ApiModelProperty(value = "政治面貌", example = "群众")
    private String political;

    @ApiModelProperty(value = "出生日期", example = "1988-09-22")
    private Date birthday;

    @ApiModelProperty(value = "居住城市", example = "深圳")
    private String liveCity;

    @ApiModelProperty(value = "毕业时间", example = "2020-01-13")
    private Date graduateTime;

    @ApiModelProperty(value = "民族", example = "汉族")
    private String clan;

    @ApiModelProperty(value = "在校结束日期", example = "2020-01-13")
    private Date universityEndDate;

    @ApiModelProperty(value = "邮箱", example = "123@qq.com")
    private String email;

    @ApiModelProperty(value = "身份证")
    private String cardNo;
    @ApiModelProperty(value = "身份证正面")
    private String authenticationCardFrontPictureUrl;
    @ApiModelProperty(value = "身份证反面")
    private String authenticationCardBackPictureUrl;
    @ApiModelProperty(value = "审核反馈")
    private String remark;
    @ApiModelProperty(value = "是否通过身份认证")
    private String isRealName;

    @ApiModelProperty(value = "到岗时间", required = true)
    private String inJobTime;
    @ApiModelProperty(value = "求职状态", required = true)
    private String jobStatus;
    /**
     * 学生类型;1:国内,2:国外
     */
    @ApiModelProperty(value = "学生类型;1:国内,2:国外",  example = "1")
    private Integer studentAbroad;
    /**
     * 护照
     */
    @ApiModelProperty(value = "护照")
    private String passport;
}
